package xiangmu.schoolpaper.pojo.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 用户表
 * @TableName user
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value ="user")
public class User {
    /**
     * 序号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 学号/工号/管理员账号
     */
    @TableField(value = "account")
    private String account;

    /**
     * 密码
     */
    @TableField(value = "password")
    private String password;

    /**
     * 姓名
     */
    @TableField(value = "name")
    private String name;

    /**
     * 邮箱
     */
    @TableField(value = "email")
    private String email;

    /**
     * 手机号
     */
    @TableField(value = "phone")
    private String phone;

    /**
     * 头像
     */
    @TableField(value = "picture")
    private String picture;

    /**
     * 专业
     */
    @TableField(value = "major_id")
    private Integer majorId;

    /**
     * 学院
     */
    @TableField(value = "faculty_id")
    private Integer facultyId;

    /**
     * 入学年级
     */
    @TableField(value = "grade")
    private Integer grade;

    /**
     * 指导教师
     */
    @TableField(value = "teacher")
    private String teacher;

    /**
     * 角色id
     */
    @TableField(value = "role_id")
    private Integer roleId;

    /**
     * 启用状态（1启用 0禁用）
     */
    @TableField(value = "status")
    private String status;

    /**
     * 删除标志（1代表存在 0代表删除）
     */
    @TableField(value = "del_flag")
    private String delFlag;

    /**
     * 创建时间
     */
    @TableField(value = "created_time")
    private LocalDateTime createdTime;

    /**
     * 创建人
     */
    @TableField(value = "created_by")
    private Integer createdBy;

    /**
     * 修改时间
     */
    @TableField(value = "updated_time")
    private Date updatedTime;

    /**
     * 修改人
     */
    @TableField(value = "updated_by")
    private Integer updatedBy;

}